package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 巡区管理业务对象 patrol_area
 *
 * @author ruoyi
 * @date 2024-01-01
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class PatrolAreaBo extends BaseEntity {

    /**
     * 巡区ID
     */
    @NotNull(message = "巡区ID不能为空", groups = { EditGroup.class })
    private Long areaId;

    /**
     * 巡区编号
     */
    private String areaCode;

    /**
     * 巡区名称
     */
    @NotBlank(message = "巡区名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String areaName;

    /**
     * 巡区类型（1常规区域 2重点区域）
     */
    @NotNull(message = "巡区类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer areaType;

    /**
     * 是否设置电子围栏（0否 1是）
     */
    private Integer hasFence;

    /**
     * 巡区范围坐标（JSON格式）
     */
    private String area;

    /**
     * 所属部门ID
     */
    private Long deptId;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 状态（0正常 1停用）
     */
    private String status;

    /**
     * 巡区范围坐标列表
     */
    private List<List<Double>> areaCoordinates;
}
